From: Giovanni Campagna Date: Sat, 19 Jan 2013 17:50:49 +0000 (+0100) Subject: MessageTray: restore symbolic icons to notification buttons X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~5048 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=9aa84ec54a2df50ac5a7caf86f1639297fb10c22;p=gnome-shell.git MessageTray: restore symbolic icons to notification buttons These were lost when we moved away with StIconType. The idea was that apps needed to include -symbolic in their action IDs, but apps were not updated, and it never makes sense to have non symbolic icons there, so let's restore the previous behavior. https://bugzilla.gnome.org/show_bug.cgi?id=692091 --- diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 451afb508..44d884fe5 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -243,6 +243,10 @@ function makeCloseButton() { return closeButton; } +function strHasSuffix(string, suffix) { + return string.substr(-suffix.length) == suffix; +} + // Notification: // @source: the notification's Source // @title: the title @@ -669,9 +673,10 @@ const Notification = new Lang.Class({ let button = new St.Button({ can_focus: true }); button._actionId = id; - if (this._useActionIcons && Gtk.IconTheme.get_default().has_icon(id)) { + let iconName = strHasSuffix(id, '-symbolic') ? id : id + '-symbolic'; + if (this._useActionIcons && Gtk.IconTheme.get_default().has_icon(iconName)) { button.add_style_class_name('notification-icon-button'); - button.child = new St.Icon({ icon_name: id }); + button.child = new St.Icon({ icon_name: iconName }); } else { button.add_style_class_name('notification-button'); button.label = label;